library(igraph)
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
library(igraphdata)
library(knitr)
library(rmarkdown)
# load raw edges data ----
edgelist <- read.csv("https://raw.githubusercontent.com/weisse-rose/Weisse-Rose/master/edgelist.csv",header=T, as.is=T, sep=",")
# load raw nodes data ----
nodelist <- read.csv("https://raw.githubusercontent.com/weisse-rose/Weisse-Rose/master/nodelist.csv",header=T, as.is=T, sep=",")
# Überprüfen der Daten
head(edgelist)
## from to relationship time
## 1 hs ss 2 1
## 2 hs kh 1 6
## 3 hs wg 1 10
## 4 hs hl 1 10
## 5 hs cp 1 1
## 6 hs as 1 1
head(nodelist)
## id name sex age hometown occupation
## 1 hs hans scholl 1 2 1 1
## 2 ss sophie scholl 2 2 1 1
## 3 kh kurt huber 1 4 1 3
## 4 wg willi graf 1 2 1 1
## 5 cp christoph probst 1 2 2 1
## 6 as alexander schmorell 1 2 1 1
# create network ----
edges <- as.matrix(edgelist)
nodes <- as.matrix(nodelist)
wr <- graph_from_data_frame(d=edges, vertices=nodelist, directed=F)
plot(wr, main="Gesamtnetzwerk Weiße Rose")

list.edge.attributes(wr)
## [1] "relationship" "time"
E(wr)$arrow.size <- .2 # definiert die Pfeilspitze auf Größe .2
E(wr)$curved <- .2 # definiert die Krümmung der Kanten
list.edge.attributes(wr) # zeigt die neu definierten Attribute an.
## [1] "relationship" "time" "arrow.size" "curved"
edge.attributes(wr)$relationship
## [1] "2" "1" "1" "1" "1" "1" "1" "1" "1" "1" "3" "2" "1" "1" "3" "3" "3"
## [18] "3" "1" "1" "1" "1" "1" "1" "3" "3" "1" "1" "3" "3" "1" "1" "1" "1"
## [35] "1" "1" "3" "3" "7" "3" "1" "1" "1" "1" "1" "1" "1" "3" "3" "1" "1"
## [52] "1" "7" "1" "1" "3" "1" "1" "1" "1" "1" "3" "5" "3" "1" "1" "3" "5"
## [69] "3" "3" "2" "1" "1" "1" "1" "1" "1" "1" "1" "1" "3" "7" "1" "3" "1"
## [86] "1" "1" "1" "1" "1" "1" "1" "1" "1" "5" "2" "5" "5" "1" "2" "3" "3"
## [103] "1" "1" "1" "1" "1" "1" "1" "1" "2" "1" "1" "1" "1" "1" "1" "1" "1"
## [120] "1" "1" "1" "4" "1" "1" "2" "3" "3" "3" "3" "3" "1" "3" "3" "3" "3"
## [137] "3" "3" "3" "3" "3" "3" "3" "3"
edge.attributes(wr)$time
## [1] " 1" " 6" "10" "10" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [15] " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [29] " 1" " 1" " 1" " 6" " 1" " 1" " 1" " 1" " 6" " 1" " 6" " 1" " 1" " 1"
## [43] "10" " 1" "10" " 1" " 6" "10" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 2"
## [57] " 6" " 6" " 6" " 6" " 6" " 6" " 1" " 4" " 1" " 1" " 4" " 1" " 6" "10"
## [71] " 1" " 1" "10" " 1" " 1" " 1" " 1" " 6" " 1" " 1" " 1" " 1" " 1" " 6"
## [85] " 1" "10" " 1" "10" " 1" " 1" " 1" "10" " 6" " 1" "10" " 1" "10" "10"
## [99] " 1" " 1" " 1" " 1" " 1" " 1" " 1" "10" "10" " 6" "10" "10" " 1" "10"
## [113] "10" "10" "10" "10" "10" "10" "10" "10" "10" "10" " 1" " 1" " 1" " 1"
## [127] "99" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [141] " 1" " 1" " 1" " 1"
# setzt den Wert rot für alle Werte 2 des Edge-Attributs time = Flugblatt 1 ---
edge.attributes(wr)$time
## [1] " 1" " 6" "10" "10" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [15] " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [29] " 1" " 1" " 1" " 6" " 1" " 1" " 1" " 1" " 6" " 1" " 6" " 1" " 1" " 1"
## [43] "10" " 1" "10" " 1" " 6" "10" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 2"
## [57] " 6" " 6" " 6" " 6" " 6" " 6" " 1" " 4" " 1" " 1" " 4" " 1" " 6" "10"
## [71] " 1" " 1" "10" " 1" " 1" " 1" " 1" " 6" " 1" " 1" " 1" " 1" " 1" " 6"
## [85] " 1" "10" " 1" "10" " 1" " 1" " 1" "10" " 6" " 1" "10" " 1" "10" "10"
## [99] " 1" " 1" " 1" " 1" " 1" " 1" " 1" "10" "10" " 6" "10" "10" " 1" "10"
## [113] "10" "10" "10" "10" "10" "10" "10" "10" "10" "10" " 1" " 1" " 1" " 1"
## [127] "99" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [141] " 1" " 1" " 1" " 1"
plot(wr,
edge.color=c("red", "black")[(E(wr)$time=="2")+1],
edge.width=1.5,
edge.curved=.2,
vertex.size=10,
vertex.color="grey",
vertex.frame.color="grey",
layout=layout_with_kk(wr),
main="Gesamtnetzwerk Weiße Rose",
sub="Beziehungen während Flugblatt 1 sind rot gekennzeichnet")

# setzt den Wert rot für alle Werte 10 des Edge-Attributs time = Flugblatt 1-4 ---
edge.attributes(wr)$time
## [1] " 1" " 6" "10" "10" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [15] " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [29] " 1" " 1" " 1" " 6" " 1" " 1" " 1" " 1" " 6" " 1" " 6" " 1" " 1" " 1"
## [43] "10" " 1" "10" " 1" " 6" "10" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 2"
## [57] " 6" " 6" " 6" " 6" " 6" " 6" " 1" " 4" " 1" " 1" " 4" " 1" " 6" "10"
## [71] " 1" " 1" "10" " 1" " 1" " 1" " 1" " 6" " 1" " 1" " 1" " 1" " 1" " 6"
## [85] " 1" "10" " 1" "10" " 1" " 1" " 1" "10" " 6" " 1" "10" " 1" "10" "10"
## [99] " 1" " 1" " 1" " 1" " 1" " 1" " 1" "10" "10" " 6" "10" "10" " 1" "10"
## [113] "10" "10" "10" "10" "10" "10" "10" "10" "10" "10" " 1" " 1" " 1" " 1"
## [127] "99" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1" " 1"
## [141] " 1" " 1" " 1" " 1"
plot(wr,
edge.color=c("red", "black")[(E(wr)$time=="10")+1],
edge.width=1.5,
edge.curved=.2,
vertex.size=10,
vertex.color="grey",
vertex.frame.color="grey",
layout=layout_with_kk(wr),
main="Gesamtnetzwerk Weiße Rose",
sub="Beziehungen während Flugblätter 1-4 sind rot gekennzeichnet")

list.vertex.attributes(wr)
## [1] "name" "sex" "age" "hometown" "occupation"
vertex.attributes(wr)$name
## [1] "hans scholl" "sophie scholl"
## [3] "kurt huber" "willi graf"
## [5] "christoph probst" "alexander schmorell"
## [7] "fritz hartnagel" "traute lafrenz"
## [9] "hubert furtwaengler" "theodor haecker"
## [11] "hans hirzel" "franz j. mueller"
## [13] "susanne hirzel" "heinrich guter"
## [15] "heinz brenner" "manfred eickemeyer"
## [17] "wilhelm geyer" "hellmut hartert"
## [19] "eduard borchers" "willi habermann"
## [21] "carl muth" "werner bergengruen"
## [23] "juergen wittenstein" "eugen grimminger"
## [25] "josef furtmeier" "josef soehngen"
## [27] "heinrich drexel" "dr. falk harnack"
## [29] "harald dohrn" "gisela schertling"
## [31] "lilo ramdohr" "nikolajeff hamazaspian"
## [33] "angelika probst" "angelika knoop"
## [35] "elise probst" "martin buber"
## [37] "katharina schüddekopf" "kunsthistoriker stepanow"
## [39] "anneliese knoop-graf" "walter koch"
## [41] "dieter sasse" "helmut bauer"
## [43] "heinz bollinger" "willi bollinger"
## [45] "alfred von martin" "sigismund von radecki"
## [47] "margareta rothe" "albert suhr"
## [49] "heinz kucharski" "arvid harnack"
## [51] "hans leipelt" "reinhold meyer"
## [53] "hannelore willbrandt" "karl ludwig schneider"
vertex.attributes(wr)$sex
## [1] 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2
## [36] 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1
vertex.attributes(wr)$age
## [1] 2 2 4 2 2 2 2 2 2 6 1 1 2 1 1 3 4 2 5 2 7 5 2
## [24] 5 5 4 2 2 5 2 2 99 99 99 99 6 2 99 2 2 1 2 2 2 6 5
## [47] 2 2 2 4 2 2 2 2
vertex.attributes(wr)$hometown
## [1] 1 1 1 1 2 1 1 1 1 1 3 3 7 3 3 1 3 5 1 99 1 6 1
## [24] 3 1 1 1 1 1 1 1 11 1 10 1 99 1 1 1 2 99 12 12 12 99 99
## [47] 4 4 4 5 1 4 4 4
vertex.attributes(wr)$occupation
## [1] 1 1 3 1 1 1 6 1 1 3 2 2 1 2 6 3 3 1 1 99 5 5 1
## [24] 3 5 3 1 3 3 1 3 99 1 99 99 3 1 3 1 1 6 99 99 3 3 3
## [47] 1 1 1 3 1 1 3 1
# setzt den Wert blau für sex 1 und orange für sex 2 ein
vertex.attributes(wr)$sex
## [1] 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2
## [36] 1 2 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1
V(wr)[V(wr)$sex=="1"]$color <- "lightblue"
V(wr)[V(wr)$sex=="2"]$color <- "orange"
# Beste Visualisierung
durchmesser <- layout_nicely(wr)
durchmesser <- norm_coords(durchmesser, ymin=-1, ymax=1, xmin=-1, xmax=1)
plot(wr,
vertex.size=70,
edge.curved=.2,
edge.arrow.size=.1,
rescale=FALSE,
layout=durchmesser*13.0,
ylim=c(-13.0,15.0),
xlim=c(-15.0,15.0),
asp=0,
layout=layout_nicely,
main="Gesamtnetzwerk Weiße Rose",
sub="Vertex-Attribute: sex 1 (männlich) = lightblue, sex 2 (weiblich) = orange")

# setzt den Wert blau=München(1), rot=Ulm(3), grün=Hamburg(4), pink=Stuttgart(7) ein
vertex.attributes(wr)$hometown
## [1] 1 1 1 1 2 1 1 1 1 1 3 3 7 3 3 1 3 5 1 99 1 6 1
## [24] 3 1 1 1 1 1 1 1 11 1 10 1 99 1 1 1 2 99 12 12 12 99 99
## [47] 4 4 4 5 1 4 4 4
V(wr)[V(wr)$hometown=="1"]$color <- "blue"
V(wr)[V(wr)$hometown=="3"]$color <- "red"
V(wr)[V(wr)$hometown=="4"]$color <- "green"
V(wr)[V(wr)$hometown=="7"]$color <- "yellow"
V(wr)[V(wr)$hometown=="2"]$color <- "white"
V(wr)[V(wr)$hometown=="5"]$color <- "white"
V(wr)[V(wr)$hometown=="6"]$color <- "white"
V(wr)[V(wr)$hometown=="10"]$color <- "white"
V(wr)[V(wr)$hometown=="11"]$color <- "white"
V(wr)[V(wr)$hometown=="12"]$color <- "white"
V(wr)[V(wr)$hometown=="99"]$color <- "white"
plot(wr,
vertex.size=70,
edge.curved=.2,
edge.arrow.size=.1,
layout=durchmesser*13.0,
rescale=FALSE,
ylim=c(-13.0,15.0),
xlim=c(-15.0,15.0),
asp=0,
layout=layout_nicely,
main="Gesamtnetzwerk Weiße Rose",
sub="Vertex-Attribut hometown blau=München, rot=Ulm, grün=Hamburg, yellow=Stuttgart")

# Vorbereitung für Cluster-Berechnung
?cluster_walktrap
wr
## IGRAPH cce6c84 UN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), relationship (e/c), time (e/c),
## | arrow.size (e/n), curved (e/n)
## + edges from cce6c84 (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
gc <- cluster_walktrap(wr)
modularity(gc)
## [1] 0.2920284
membership(gc)
## hans scholl sophie scholl kurt huber
## 1 1 1
## willi graf christoph probst alexander schmorell
## 1 1 3
## fritz hartnagel traute lafrenz hubert furtwaengler
## 1 2 1
## theodor haecker hans hirzel franz j. mueller
## 1 4 4
## susanne hirzel heinrich guter heinz brenner
## 4 4 4
## manfred eickemeyer wilhelm geyer hellmut hartert
## 1 1 5
## eduard borchers willi habermann carl muth
## 5 1 1
## werner bergengruen juergen wittenstein eugen grimminger
## 1 1 1
## josef furtmeier josef soehngen heinrich drexel
## 1 1 1
## dr. falk harnack harald dohrn gisela schertling
## 3 1 1
## lilo ramdohr nikolajeff hamazaspian angelika probst
## 3 3 3
## angelika knoop elise probst martin buber
## 3 3 3
## katharina schüddekopf kunsthistoriker stepanow anneliese knoop-graf
## 1 1 1
## walter koch dieter sasse helmut bauer
## 6 7 1
## heinz bollinger willi bollinger alfred von martin
## 1 1 1
## sigismund von radecki margareta rothe albert suhr
## 1 2 2
## heinz kucharski arvid harnack hans leipelt
## 2 8 2
## reinhold meyer hannelore willbrandt karl ludwig schneider
## 2 9 2
par(mfrow=c(1,1), mar=c(0,0,1,2))
# Beste Visualisierung
durchmesser <- layout_with_fr(wr)
durchmesser <- norm_coords(durchmesser, ymin=-1, ymax=1, xmin=-1, xmax=1)
plot(gc,
wr,
edge.color=c("black"),
edge.width=1,
edge.curved=.2,
vertex.size=110,
edge.arrow.size=.2,
layout=durchmesser*13.0,
rescale=FALSE,
ylim=c(-13.0,15.0),
xlim=c(-15.0,15.0),
asp=0,
main="Clusteranalyse des Gesamtnetzwerks")

degree(wr)
## hans scholl sophie scholl kurt huber
## 36 23 19
## willi graf christoph probst alexander schmorell
## 25 19 20
## fritz hartnagel traute lafrenz hubert furtwaengler
## 2 11 1
## theodor haecker hans hirzel franz j. mueller
## 4 5 5
## susanne hirzel heinrich guter heinz brenner
## 6 3 4
## manfred eickemeyer wilhelm geyer hellmut hartert
## 2 2 2
## eduard borchers willi habermann carl muth
## 2 1 7
## werner bergengruen juergen wittenstein eugen grimminger
## 3 2 5
## josef furtmeier josef soehngen heinrich drexel
## 2 2 1
## dr. falk harnack harald dohrn gisela schertling
## 5 2 2
## lilo ramdohr nikolajeff hamazaspian angelika probst
## 4 1 2
## angelika knoop elise probst martin buber
## 1 1 1
## katharina schüddekopf kunsthistoriker stepanow anneliese knoop-graf
## 2 1 2
## walter koch dieter sasse helmut bauer
## 1 1 1
## heinz bollinger willi bollinger alfred von martin
## 1 1 1
## sigismund von radecki margareta rothe albert suhr
## 1 6 5
## heinz kucharski arvid harnack hans leipelt
## 6 1 10
## reinhold meyer hannelore willbrandt karl ludwig schneider
## 7 1 7
# ego_size() zeigt uns den Wert mit den höchsten Verbindungen (degrees)
V(wr)$egos <- ego_size(wr)
vertex.attributes(wr)$egos
## [1] 32 19 15 21 15 16 3 12 2 5 6 6 7 4 5 3 3 3 3 2 8 4 3
## [24] 6 3 3 2 6 3 3 5 2 3 2 2 2 3 2 3 2 2 2 2 2 2 2
## [47] 7 6 7 2 11 7 2 7
which.max(vertex.attributes(wr)$egos)
## [1] 1
## Code zur Erzeugung des Egonetzwerks
wr
## IGRAPH cce6c84 UN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from cce6c84 (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
ego1 <- make_ego_graph(wr, order = 1, nodes = V(wr)$name == "hans scholl", mode ="all")
ego1[[1]]
## IGRAPH 137612c UN-- 32 105 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from 137612c (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
plot(ego1[[1]],
vertex.color="blue",
vertex.frame.color="grey",
edge.color="grey",
main="Ego-Netzwerk von Hans Scholl")

V(wr)$egos <- ego_size(wr)
vertex.attributes(wr)$egos
## [1] 32 19 15 21 15 16 3 12 2 5 6 6 7 4 5 3 3 3 3 2 8 4 3
## [24] 6 3 3 2 6 3 3 5 2 3 2 2 2 3 2 3 2 2 2 2 2 2 2
## [47] 7 6 7 2 11 7 2 7
## Code zur Erzeugung des Egonetzwerks
wr
## IGRAPH cce6c84 UN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from cce6c84 (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
ego2 <- make_ego_graph(wr, order = 1, nodes = V(wr)$name == "willi graf", mode ="all")
ego2[[1]]
## IGRAPH 4938ace UN-- 21 73 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from 4938ace (vertex names):
## [1] hans scholl --sophie scholl hans scholl --sophie scholl
## [3] hans scholl --kurt huber hans scholl --kurt huber
## [5] sophie scholl--kurt huber sophie scholl--kurt huber
## [7] hans scholl --willi graf hans scholl --willi graf
## [9] sophie scholl--willi graf sophie scholl--willi graf
## [11] kurt huber --willi graf kurt huber --willi graf
## + ... omitted several edges
plot(ego2[[1]],
vertex.color="lightgreen",
vertex.frame.color="grey",
edge.color="grey",
main="Ego-Netzwerk von Willi Graf")

V(wr)$egos <- ego_size(wr)
vertex.attributes(wr)$egos
## [1] 32 19 15 21 15 16 3 12 2 5 6 6 7 4 5 3 3 3 3 2 8 4 3
## [24] 6 3 3 2 6 3 3 5 2 3 2 2 2 3 2 3 2 2 2 2 2 2 2
## [47] 7 6 7 2 11 7 2 7
## Code zur Erzeugung des Egonetzwerks
wr
## IGRAPH cce6c84 UN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from cce6c84 (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
ego2 <- make_ego_graph(wr, order = 1, nodes = V(wr)$name == "sophie scholl", mode ="all")
ego2[[1]]
## IGRAPH 13982dc UN-- 19 72 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from 13982dc (vertex names):
## [1] hans scholl --sophie scholl hans scholl --sophie scholl
## [3] hans scholl --kurt huber hans scholl --kurt huber
## [5] sophie scholl--kurt huber sophie scholl--kurt huber
## [7] hans scholl --willi graf hans scholl --willi graf
## [9] sophie scholl--willi graf sophie scholl--willi graf
## [11] kurt huber --willi graf kurt huber --willi graf
## + ... omitted several edges
plot(ego2[[1]],
vertex.color="orange",
vertex.frame.color="grey",
edge.color="grey",
main="Ego-Netzwerk von Sophie Scholl")

V(wr)$egos <- ego_size(wr)
vertex.attributes(wr)$egos
## [1] 32 19 15 21 15 16 3 12 2 5 6 6 7 4 5 3 3 3 3 2 8 4 3
## [24] 6 3 3 2 6 3 3 5 2 3 2 2 2 3 2 3 2 2 2 2 2 2 2
## [47] 7 6 7 2 11 7 2 7
## Code zur Erzeugung des Egonetzwerks
wr
## IGRAPH cce6c84 UN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from cce6c84 (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
ego2 <- make_ego_graph(wr, order = 1, nodes = V(wr)$name == "alexander schmorell", mode ="all")
ego2[[1]]
## IGRAPH 6a706f6 UN-- 16 60 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from 6a706f6 (vertex names):
## [1] hans scholl --sophie scholl hans scholl --sophie scholl
## [3] hans scholl --kurt huber hans scholl --kurt huber
## [5] sophie scholl--kurt huber sophie scholl--kurt huber
## [7] hans scholl --willi graf hans scholl --willi graf
## [9] sophie scholl--willi graf sophie scholl--willi graf
## [11] kurt huber --willi graf kurt huber --willi graf
## + ... omitted several edges
plot(ego2[[1]],
vertex.color="green",
vertex.frame.color="grey",
edge.color="grey",
main="Ego-Netzwerk von Alexander Schmorell")

V(wr)$egos <- ego_size(wr)
vertex.attributes(wr)$egos
## [1] 32 19 15 21 15 16 3 12 2 5 6 6 7 4 5 3 3 3 3 2 8 4 3
## [24] 6 3 3 2 6 3 3 5 2 3 2 2 2 3 2 3 2 2 2 2 2 2 2
## [47] 7 6 7 2 11 7 2 7
## Code zur Erzeugung des Egonetzwerks
wr
## IGRAPH cce6c84 UN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from cce6c84 (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
ego2 <- make_ego_graph(wr, order = 1, nodes = V(wr)$name == "kurt huber", mode ="all")
ego2[[1]]
## IGRAPH a8dd554 UN-- 15 65 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from a8dd554 (vertex names):
## [1] hans scholl --sophie scholl hans scholl --sophie scholl
## [3] hans scholl --kurt huber hans scholl --kurt huber
## [5] sophie scholl--kurt huber sophie scholl--kurt huber
## [7] hans scholl --willi graf hans scholl --willi graf
## [9] sophie scholl--willi graf sophie scholl--willi graf
## [11] kurt huber --willi graf kurt huber --willi graf
## + ... omitted several edges
plot(ego2[[1]],
vertex.color="red",
vertex.frame.color="grey",
edge.color="grey",
main="Ego-Netzwerk von Kurt Huber")

V(wr)$egos <- ego_size(wr)
vertex.attributes(wr)$egos
## [1] 32 19 15 21 15 16 3 12 2 5 6 6 7 4 5 3 3 3 3 2 8 4 3
## [24] 6 3 3 2 6 3 3 5 2 3 2 2 2 3 2 3 2 2 2 2 2 2 2
## [47] 7 6 7 2 11 7 2 7
## Code zur Erzeugung des Egonetzwerks
wr
## IGRAPH cce6c84 UN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from cce6c84 (vertex names):
## [1] hans scholl--sophie scholl hans scholl--kurt huber
## [3] hans scholl--willi graf hans scholl--hans leipelt
## [5] hans scholl--christoph probst hans scholl--alexander schmorell
## [7] hans scholl--fritz hartnagel hans scholl--traute lafrenz
## [9] hans scholl--hubert furtwaengler hans scholl--theodor haecker
## [11] hans scholl--hans hirzel hans hirzel--susanne hirzel
## + ... omitted several edges
ego2 <- make_ego_graph(wr, order = 1, nodes = V(wr)$name == "christoph probst", mode ="all")
ego2[[1]]
## IGRAPH de318a8 UN-- 15 60 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), color (v/c), egos (v/n), relationship (e/c),
## | time (e/c), arrow.size (e/n), curved (e/n)
## + edges from de318a8 (vertex names):
## [1] hans scholl --sophie scholl hans scholl --sophie scholl
## [3] hans scholl --kurt huber hans scholl --kurt huber
## [5] sophie scholl--kurt huber sophie scholl--kurt huber
## [7] hans scholl --willi graf hans scholl --willi graf
## [9] sophie scholl--willi graf sophie scholl--willi graf
## [11] kurt huber --willi graf kurt huber --willi graf
## + ... omitted several edges
plot(ego2[[1]],
vertex.color="yellow",
vertex.frame.color="grey",
edge.color="grey",
main="Ego-Netzwerk von Christoph Probst")

# Netzwerk nochmals neu einlesen
edgelist <- read.csv("https://raw.githubusercontent.com/weisse-rose/Weisse-Rose/master/edgelist.csv",header=T, as.is=T, sep=",")
nodelist <- read.csv("https://raw.githubusercontent.com/weisse-rose/Weisse-Rose/master/nodelist.csv",header=T, as.is=T, sep=",")
edgematrix <-as.matrix(edges)
wr1 <- graph_from_data_frame(d=edgematrix, vertices=nodelist, directed=T)
wr1
## IGRAPH f2e0562 DN-- 54 144 --
## + attr: name (v/c), sex (v/n), age (v/n), hometown (v/n),
## | occupation (v/n), relationship (e/c), time (e/c)
## + edges from f2e0562 (vertex names):
## [1] hans scholl ->sophie scholl
## [2] hans scholl ->kurt huber
## [3] hans scholl ->willi graf
## [4] hans scholl ->hans leipelt
## [5] hans scholl ->christoph probst
## [6] hans scholl ->alexander schmorell
## [7] hans scholl ->fritz hartnagel
## + ... omitted several edges
# Beste Visualisierung
durchmesser <- layout_nicely(wr1)
durchmesser <- norm_coords(durchmesser, ymin=-1, ymax=1, xmin=-1, xmax=1)
plot(wr1,
vertex.color="lightgreen",
vertex.size=50,
vertex.frame.color="lightgreen",
edge.color="grey",
edge.curved=.2,
edge.arrow.size=.1,
layout=durchmesser*13.0,
rescale=FALSE,
ylim=c(-13.0,15.0),
xlim=c(-15.0,15.0),
asp=0,
main="Gesamtnetzwerk Weiße Rose",
sub="entzerrte Darstellung")

largest_cliques(wr1)
## Warning in largest_cliques(wr1): At cliques.c:1087 :directionality of edges
## is ignored for directed graphs
## [[1]]
## + 7/54 vertices, named, from f2e0562:
## [1] hans scholl sophie scholl traute lafrenz
## [4] kurt huber christoph probst alexander schmorell
## [7] hans leipelt
##
## [[2]]
## + 7/54 vertices, named, from f2e0562:
## [1] hans scholl sophie scholl willi graf
## [4] kurt huber christoph probst alexander schmorell
## [7] hans leipelt
betweenness(wr, normalized = T)
## hans scholl sophie scholl kurt huber
## 0.4400754704 0.1347856244 0.0616530784
## willi graf christoph probst alexander schmorell
## 0.2296066879 0.1141297704 0.1820272293
## fritz hartnagel traute lafrenz hubert furtwaengler
## 0.0000000000 0.1386187712 0.0000000000
## theodor haecker hans hirzel franz j. mueller
## 0.0000000000 0.0003144654 0.0012034349
## susanne hirzel heinrich guter heinz brenner
## 0.0022375423 0.0009615385 0.0004837929
## manfred eickemeyer wilhelm geyer hellmut hartert
## 0.0000000000 0.0000000000 0.0000000000
## eduard borchers willi habermann carl muth
## 0.0000000000 0.0000000000 0.0049911305
## werner bergengruen juergen wittenstein eugen grimminger
## 0.0000000000 0.0000000000 0.0000000000
## josef furtmeier josef soehngen heinrich drexel
## 0.0000000000 0.0000000000 0.0000000000
## dr. falk harnack harald dohrn gisela schertling
## 0.0378953412 0.0000000000 0.0000000000
## lilo ramdohr nikolajeff hamazaspian angelika probst
## 0.0006220195 0.0000000000 0.0000000000
## angelika knoop elise probst martin buber
## 0.0000000000 0.0000000000 0.0000000000
## katharina schüddekopf kunsthistoriker stepanow anneliese knoop-graf
## 0.0000000000 0.0000000000 0.0000000000
## walter koch dieter sasse helmut bauer
## 0.0000000000 0.0000000000 0.0000000000
## heinz bollinger willi bollinger alfred von martin
## 0.0000000000 0.0000000000 0.0000000000
## sigismund von radecki margareta rothe albert suhr
## 0.0000000000 0.0013632594 0.0000000000
## heinz kucharski arvid harnack hans leipelt
## 0.0013632594 0.0000000000 0.0634305946
## reinhold meyer hannelore willbrandt karl ludwig schneider
## 0.0377358491 0.0000000000 0.0022340867
closeness(wr, normalized = T)
## hans scholl sophie scholl kurt huber
## 0.6973684 0.5888889 0.5698925
## willi graf christoph probst alexander schmorell
## 0.5824176 0.5638298 0.5760870
## fritz hartnagel traute lafrenz hubert furtwaengler
## 0.4274194 0.5247525 0.4140625
## theodor haecker hans hirzel franz j. mueller
## 0.4608696 0.4568966 0.4491525
## susanne hirzel heinrich guter heinz brenner
## 0.4608696 0.4416667 0.4240000
## manfred eickemeyer wilhelm geyer hellmut hartert
## 0.4206349 0.4206349 0.4173228
## eduard borchers willi habermann carl muth
## 0.4173228 0.4140625 0.4774775
## werner bergengruen juergen wittenstein eugen grimminger
## 0.4416667 0.4274194 0.4774775
## josef furtmeier josef soehngen heinrich drexel
## 0.4173228 0.4274194 0.4140625
## dr. falk harnack harald dohrn gisela schertling
## 0.4529915 0.4274194 0.4274194
## lilo ramdohr nikolajeff hamazaspian angelika probst
## 0.4529915 0.3680556 0.3840580
## angelika knoop elise probst martin buber
## 0.3680556 0.3680556 0.3680556
## katharina schüddekopf kunsthistoriker stepanow anneliese knoop-graf
## 0.3897059 0.3732394 0.4015152
## walter koch dieter sasse helmut bauer
## 0.3630137 0.3630137 0.3706294
## heinz bollinger willi bollinger alfred von martin
## 0.3706294 0.3706294 0.3706294
## sigismund von radecki margareta rothe albert suhr
## 0.3706294 0.3758865 0.3581081
## heinz kucharski arvid harnack hans leipelt
## 0.3758865 0.3136095 0.5408163
## reinhold meyer hannelore willbrandt karl ludwig schneider
## 0.3605442 0.2663317 0.3758865